#ifndef INST_PARAM_H
#define INST_PARAM_H

#include "Input.h"
#include "Exception.h"
#include "NotReady.h"

class Param {
protected:
	const char *name;
	bool ready;

	void throwNotReady() throw (NotReady);

public:
	Param();
	Param( const char *name );
	Param( Param &src );

	virtual void read( Input &input ) = 0;

	const char *getName() throw (NotReady);

	bool isReady()	{ return ready; }
};

#endif